Insertion point bungee space tool

ABSTRACT

A computer system and method for providing user feedback when creating, modifying, or editing electronic documents. An insertion point icon is placed in a document at a position for insertion and/or deletion of text, graphics, data, etc. Upon receiving a user input indicating movement, the insertion point icon is divided into two icons, one stationary at the position, and one moving with user input. When movement is complete, space contained between the icons may be deleted or inserted. The system may be used to shift handwritten text to subsequent lines on an electronic document containing handwritten text, and may be used to bring two groups of text together, deleting space in between. A connection line may be displayed between the icons to provide feedback regarding the action to be taken.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of prior U.S. patent application Ser.No. 09/813,354, filed Mar. 21, 2001, which application claims priorityto U.S. Provisional Patent Application Ser. No. 60/247,842, entitledInsertion Point Bungee Space Tool, filed Nov. 10, 2000, whichapplications are hereby incorporated by reference.

TECHNICAL FIELD

Aspects of the present invention relate generally to user interfaces forcomputer systems. More particularly, the present invention relates toproviding computer users with improved visual feedback when editingtextual documents on a computer. Further aspects relate to providingusers with improved visual feedback when editing handwritten documentson a computer system.

BACKGROUND OF THE INVENTION

The use of computers and/or computing systems to generate textualdocuments has become an established practice in today's Computer Age.Through the use of a computer, such as a personal computer, and akeyboard (e.g., one having the “QWERTY” key configuration), it is nowpossible for users to type and create documents of many different typesand formats.

Various word-processing programs also provide a certain amount of visualfeedback, through a user interface, to provide the user with visual cuesas to the effects of the user's actions. For example, in generating anelectronic document using the “MICROSOFT® WORD” program, which is aword-processing product offered by Microsoft Corp., many visual cues areprovided. One such visual cue is a flashing cursor that appears at apoint in the document. The flashing cursor, represented by a verticalline, is the point at which text will appear if the user were to begintyping on the keyboard. In this regard, the location of the cursor maybe referred to as the insertion point. The cursor is also the point fromwhich text may be deleted upon pressing an “Insert” or “Delete” key onthe keyboard, and may also serve as a first point in highlighting aportion of the document.

However, the use of such a cursor for various editing actions requiresthe user to study and learn multiple functions and commands, thuscomplicating the user's interaction with the system. To illustrate, FIG.3A shows a screen of text from a prior art word processing program. Inthe FIG. 3A screen, several lines of text 301 may have been generated bythe user, for example, by typing the letters on a keyboard. If the usershould desire to insert additional space, or text, at a point 302 withinthe lines of text 301, the user generally is required to position thecursor 303 at the insertion point, and then add spaces or text (byhitting the space bar or keys on a keyboard) to perform the insertion.Carriage returns may also be inserted by pressing the “Enter” or“Return” key on a conventional keyboard. However, with each press of akey (e.g., spacebar), the entire portion of the lines of text 301 beyondthe cursor 303 shifts as a result of the addition. If the user wishes toinsert 20 spaces, the text might shift 20 times for the spaces. Thisshifting is disorienting to the user, and complicates the user'sinteraction with the displayed document. A similar problem isencountered if the user wishes to “close up” space between two groups oftext. To illustrate, FIG. 3B shows another screen of text from a typicalword processing program, in which two groups of text 304 a, 304 b areseparated by space 305. If the user wishes to “close up” this space 305by bringing the two groups of text together, the user typically musteither: 1) highlight and delete the spaces and/or carriage returnsbetween the groups of text; or 2) position the cursor at some pointwithin the space 305, and begin pressing “Delete” or “Backspace” keys todelete the various components of space 305 (which may include spaces,tabs, carriage returns, etc.). These operations, however, alsocomplicate the user's computer experience. In option 1, the user mustlearn how to properly select the entire space area 305, and then learnhow to delete or cut the selected space area 305 from the document. Aninadvertent selection of more, or less, than space 305 might result inan accidental deletion of some or all of the groups of text 304 a, 304b, requiring the user to backtrack and attempt the deletion again.Option 2 involves the deletion of individual spaces, tabs, carriagereturns, etc., one at a time. This one-at-a-time deletion may bedisorienting to the user as text group 304 b may be shifted once foreach deletion. On slower machines, the repeated deletions may beaffected faster than they are displayed, resulting in over deletions. Onfaster machines, the rate at which pages scroll is faster than theuser's ability to respond, further frustrating the user.

FIGS. 3C-F illustrate another prior art attempt at easing the user'sinteraction with the displayed document. In the Microsoft® Inkwriter®product, a user could generate multiple lines 330 of text, which couldbe handwritten using a stylus, and interact with the displayed documentusing a pointing device (such as the stylus, mouse, etc.). The usercould also place a cursor 332 at an insertion point. The cursor 332would initially have the appearance of an “I-beam,” as shown in FIG. 3C.As the user moved a pointer, such as a mouse or stylus pointer 334, overthe cursor 332, also known as “hovering” over the cursor 332, a newhover symbol 336 would appear below the cursor 332, as shown in FIG. 3D.If the user were to subsequently “click and drag” the mouse cursor by,for example, pressing a mouse button and moving the mouse, the hoversymbol 336 would be replaced by an expanding arrow 338. This “click anddrag” may also be performed using a stylus. As the user “dragged” thecursor 332, the expanding arrow 338 would then dynamically indicate thevertical position of the mouse pointer 334, as shown in FIG. 3E, whilemaintaining the same horizontal position. Upon completing the drag, thetext following the cursor 332 is moved to begin as a new line at thefinal vertical position of the mouse pointer 334.

The Inkwriter® hover symbol 336 and expanding arrow 338 provide somefeedback to the user, but this feedback is limited. For example, noadditional feedback is provided if the user drags the cursor 332 withinthe same line (e.g., to the left or right). Additionally, the amount ofvertical feedback is limited to a vertical indication only. In the FIG.3E screen, the expanding arrow 338 does not indicate the horizontalpositioning of the pointer 334, resulting in some confusion on the partof the user as to what will happen when the dragging ceases. Theoperation of the Inkwriter® cursor is also confusing when the userwishes to delete space in a document. In deleting space or text, theInkwriter® cursor 332 behaves as described above with respect to FIGS.3C-E, resulting in a feedback display as shown in FIG. 3G. In the FIG.3G screen, the expanding arrow 338 similarly provides limited feedbackregarding exactly what text, if any, will be deleted when the draggingis completed.

The user's computer experience is complicated by these forms of editingfeedback, which is undesirable from a computer-usability standpoint.Consequently, there is a need for a more intuitive and user-friendlyform of feedback when editing documents with a computer. This need isfurther heightened in any computer system that attempts to simplify auser's computer experience.

SUMMARY OF THE INVENTION

The present invention relates to an editing tool for editingelectronically displayed information. The tool permits a user toselectively expand and contract selected areas on a displayed document.The tool provides visual feedback to the user to permit the user to morereadily appreciate how the document will be modified. The tool may bedisplayed to the user as an insertion point cursor with selectablehandles. In some embodiments, the insertion point graphical cursor maybe replaced with two cursors: one stationary and one mobile, in whichthe mobile cursor may be positioned in response to user inputs. Thecursors may also have directional identifiers. An expanding line, orbungee line, may appear between two cursors on an electronic document toidentify the portion of the document that lies between the cursors. Thetool may be used in a variety of environments including computingsystems employing a mouse or stylus as an input device.

These and other aspects and embodiments will be apparent in view of thefollowing figures and detailed description.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows a computing environment in which one or more aspects of thepresent invention may be implemented.

FIG. 2 shows a tablet computer configuration on which one or moreembodiments of the present invention may be implemented.

FIGS. 3A-G depict prior art screens of text using prior art wordprocessors.

FIGS. 4A and 4B illustrate graphical user interface icons according toat least one embodiment of the present invention.

FIGS. 5A-C illustrate directional flows for various written forms ofcommunication, or languages.

FIGS. 6A-E are screen shots using one or more aspects of the presentinvention.

FIGS. 7A-C are screen shots using further aspects of the presentinvention.

DETAILED DESCRIPTION OF EMBODIMENTS OF THE INVENTION

The present invention may be more readily described with reference toFIGS. 1-2 and 4-7. FIG. 1 illustrates a schematic diagram of aconventional general-purpose digital computing environment that can beused to implement various aspects of the present invention. In FIG. 1, acomputer 100 includes a processing unit 110, a system memory 120, and asystem bus 130 that couples various system components including thesystem memory to the processing unit 110. The system bus 130 may be anyof several types of bus structures including a memory bus or memorycontroller, a peripheral bus, and a local bus using any of a variety ofbus architectures. The system memory 120 includes read only memory (ROM)140 and random access memory (RAM) 150.

A basic input/output system 160 (BIOS), containing the basic routinesthat help to transfer information between elements within the computer100, such as during start-up, is stored in the ROM 140. The computer 100also includes a hard disk drive 170 for reading from and writing to ahard disk (not shown), a magnetic disk drive 180 for reading from orwriting to a removable magnetic disk 190, and an optical disk drive 191for reading from or writing to a removable optical disk 192 such as a CDROM or other optical media. The hard disk drive 170, magnetic disk drive180, and optical disk drive 191 are connected to the system bus 130 by ahard disk drive interface 192, a magnetic disk drive interface 193, andan optical disk drive interface 194, respectively. The drives and theirassociated computer-readable media provide nonvolatile storage ofcomputer readable instructions, data structures, program modules andother data for the personal computer 100. It will be appreciated bythose skilled in the art that other types of computer readable mediathat can store data that is accessible by a computer, such as magneticcassettes, flash memory cards, digital video disks, Bernoullicartridges, random access memories (RAMs), read only memories (ROMs),and the like, may also be used in the example operating environment.

A number of program modules can be stored on the hard disk drive 170,magnetic disk 190, optical disk 192, ROM 140 or RAM 150, including anoperating system 195, one or more application programs 196, otherprogram modules 197, and program data 198. A user can enter commands andinformation into the computer 100 through input devices such as akeyboard 101 and pointing device 102. Other input devices (not shown)may include a microphone, joystick, game pad, satellite dish, scanner orthe like. These and other input devices are often connected to theprocessing unit 110 through a serial port interface 106 that is coupledto the system bus, but may be connected by other interfaces, such as aparallel port, game port or a universal serial bus (USB). Further still,these devices may be coupled directly to the system bus 130 via anappropriate interface (not shown). A monitor 107 or other type ofdisplay device is also connected to the system bus 130 via an interface,such as a video adapter 108. In addition to the monitor, personalcomputers typically include other peripheral output devices (not shown),such as speakers and printers. In a preferred embodiment, a pendigitizer 165 and accompanying pen or stylus 166 are provided in orderto digitally capture freehand input. Although a direct connectionbetween the pen digitizer 165 and the processing unit 110 is shown, inpractice, the pen digitizer 165 may be coupled to the processing unit110 via a serial port, parallel port or other interface and the systembus 130 as known in the art. Furthermore, although the digitizer 165 isshown apart from the monitor 107, it is preferred that the usable inputarea of the digitizer 165 be co-extensive with the display area of themonitor 107. Further still, the digitizer 165 may be integrated in themonitor 107, or may exist as a separate device overlaying or otherwiseappended to the monitor 107.

The computer 100 can operate in a networked environment using logicalconnections to one or more remote computers, such as a remote computer109. The remote computer 109 can be a server, a router, a network PC, apeer device or other common network node, and typically includes many orall of the elements described above relative to the computer 100,although only a memory storage device 111 has been illustrated inFIG. 1. The logical connections depicted in FIG. 1 include a local areanetwork (LAN) 112 and a wide area network (WAN) 113. Such networkingenvironments are commonplace in offices, enterprise-wide computernetworks, intranets and the Internet.

When used in a LAN networking environment, the computer 100 is connectedto the local network 112 through a network interface or adapter 114.When used in a WAN networking environment, the personal computer 100typically includes a modem 115 or other means for establishing acommunications over the wide area network 113, such as the Internet. Themodem 115, which may be internal or external, is connected to the systembus 130 via the serial port interface 106. In a networked environment,program modules depicted relative to the personal computer 100, orportions thereof, may be stored in the remote memory storage device.

It will be appreciated that the network connections shown are exemplaryand other techniques for establishing a communications link between thecomputers can be used.

The existence of any of various well-known protocols such as TCP/IP,Ethernet, FTP, HTTP and the like is presumed, and the system can beoperated in a client-server configuration to permit a user to retrieveweb pages from a web-based server. Any of various conventional webbrowsers can be used to display and manipulate data on web pages.

Although the FIG. 1 environment shows an exemplary environment, it willbe understood that other computing environments may also be used. Forexample, one or more embodiments of the present invention may use anenvironment having fewer than all of the various aspects shown in FIG. 1and described above, and these aspects may appear in variouscombinations and sub-combinations that will be apparent to one ofordinary skill.

FIG. 2 illustrates a tablet PC 201 that can be used in accordance withvarious aspects of the present invention. Any or all of the features,subsystems, and functions in the system of FIG. 1 can be included in thecomputer of FIG. 2. Tablet PC 201 includes a large display surface 202,e.g., a digitizing flat panel display, preferably, a liquid crystaldisplay (LCD) screen, on which a plurality of windows 203 is displayed.Using stylus 204, a user can select, highlight, and write on thedigitizing display area. Examples of suitable digitizing display panelsinclude electromagnetic pen digitizers, such as the Mutoh or Wacom pendigitizers. Other types of pen digitizers, e.g., optical digitizers, mayalso be used. Tablet PC 201 interprets marks made using stylus 204 inorder to manipulate data, enter text, and execute conventional computerapplication tasks such as spreadsheets, word processing programs, andthe like.

A stylus could be equipped with buttons or other features to augment itsselection capabilities. In one embodiment, a stylus could be implementedas a simple rigid (or semi-rigid) stylus. Alternatively, the “pencil” or“pen” may include one end that constitutes a writing portion, andanother end that constitutes an “eraser” end which, when moved acrossthe display, indicates that portions of the display are to be erased.Other types of input devices such as a mouse, trackball, or the likecould be used. Additionally, a user's own finger could be used to selector indicate portions of the displayed image on a touch-sensitive orproximity-sensitive display. Consequently, the term “user input device”is intended to have a broad definition and encompasses many variationson well-known input devices. In alternate embodiments, inputs may bereceived using other devices, such as a mouse, track-ball, light pen,keyboard keys, etc.

In one or more embodiments of the present invention, one or moregraphical insertion point icons may be implemented to provide a morenatural degree of feedback to the user of a computing device. FIG. 4Aillustrates an insertion point icon 401 that may be placed in anelectronic document upon receiving one or more inputs from a user. Theinputs may be in any of a variety of forms, such as a keyboard entryusing a cursor to indicate position, or one or more mouse clicks at aposition. In an embodiment using a tablet and stylus, this input may beachieved using a stylus tap and/or touch on a tablet display screen atthe desired position. The insertion point icon 401 may also include oneor more directional indicators 402 a, 402 b, which may generallyindicate an axis along which a directional flow of the text lies asindicated by indicator 402 b. “Directional flow” of the text refersgenerally to the direction in which native readers of the language inwhich the text is written would linearly read the text, and may beviewed as a particular arrangement of the language “stream”. Forexample, words (or characters, symbols, etc.) that are read first may beconsidered “upstream” of words that are read second. The reversedirection of text flow may also be indicated with indicator 402 a.

In order to fit this linear stream of words on a page, the stream isusually wrapped in some fashion, creating a directional flow. The mannerof wrapping depends on the particular language, and several are depictedin FIGS. 5A-C. FIG. 5A shows the left-to-right, top-down flow of theEnglish language. In the English language, words to the left of (or onlines above) a current position may be considered “upstream” from wordsto the right (or on lines below) a current position. As another example,the Chinese language arranges characters in the top to bottom, right toleft, directional flow shown in FIG. 5B. In one or more embodiments ofthe present invention, the directional flow of text documents may beconfigured by, for example, a user selecting a particular language. Byaltering the directional flow, the manner in which spaces, text, and/orgraphics are added or deleted is affected.

In one aspect of the present invention, the insertion point icon 401 islinear in shape. Such a shape may provide a clear identification of theposition of the icon within the document.

In a further embodiment, a center line of the insertion point icon 401is perpendicular to the directional flow of the line of text in whichthe insertion point is placed. A perpendicular icon may also provide aclearer identification of the icon's exact location.

In alternate embodiments, the center line of the insertion point icon401 need not be linear, and need not be perpendicular. Such an icon maybe desirable, for example, when placed among graphical images.

In one embodiment, once the insertion point icon 401 is placed within adocument, the location of the insertion point icon 401 may be used forinserting and/or deleting material, such as text, graphics, space, etc.To implement an edit, the user may position the stylus over theinsertion point icon 401, and enter an input, such as a button press onthe stylus, or a tap on the display screen on the insertion point icon401. Insertion point icon 401 may also be inserted and/or moved usingother forms of user input, such as pressing one or more keys on akeyboard, using a mouse pointing device, etc. These additional forms ofmovement allow embodiments of the present invention to be implemented ona variety of computer systems. In further embodiments, the insertionpoint icon 401 may alter its appearance responsive to the proximity ofthe stylus or pointing device cursor, or if the insertion point icon isselected. For example, the insertion point 401 might change colors asthe stylus gets near, indicating to the user that the stylus is nearenough to the insertion point 401 to select it. The insertion point 401may also appear depressed, like a button, upon selection. Altering theinsertion point icon's appearance provides clearer feedback to the userwhen, for example, a pointing device cursor is positioned correctly overthe icon 401.

As discussed above, movement of the insertion point icon 401 may beinitiated through a stylus tap or press on the tablet display over theinsertion point icon 401 to select it for movement, but any other knownmethod of selection may also be used. In various embodiments, selectionof an insertion point causes the insertion point icon 401 to be splitinto two separate icons. FIG. 4B shows these icons as icons 403, 404.Each icon may also include an external directional indicator 405 a, 405b. These directional indicators may indicate a direction, in line withthe directional flow of the underlying text, that is external to theportion between the icons 403, 404, and may be located on the side ofthe icons 403, 404 that is external to the portion of the documentbetween the icons. Such directional indicators help provide the userwith feedback regarding the space to be inserted, and the text that isto be external to the inserted space. Alternatively, directionalindicators may be placed on the sides of the icons 403, 404 that areinternal to the portion of the document between the icons. Such“internal” directional indicators may provide the user with clearerfeedback regarding the amount of space to be added or deleted. In otherembodiments, one or more directional indicators may be omitted. Omittingthese indicators may help conserve processing power for devices havingfewer processing capabilities. In some embodiments, a dynamic connectionline 406 may appear, visually connecting the icons 403 and 404. Thisconnection provides additional feedback to the user regarding the space,text, and/or graphics that is to be added or deleted, and maydynamically expand or contract as the distance between the two icons 405a, 405 b varies. Due to its movement and flexibility, this line may bereferred to herein as a “bungee” line.

The splitting of the insertion point 401 is, in at least one embodiment,along a center line of the insertion point 401, but the two resultingicons 403, 404 may be of any size, and are not necessarily half thewidth of insertion point 401 (although they may be in some embodiments).After splitting, one of the icons (e.g., 403) is termed the “origin”icon (or cursor), and remains in the location of the original insertionpoint 401. The other one of icons (e.g., 404) becomes the “moving” icon,and may be moved through the user's input, such as dragging the stylusacross the tablet display and, as a result, the electronic document. Thedetermination as to which of icons 403, 404 is the “origin” and which isthe “moving” may be arbitrary in some embodiments, and in others, may bedetermined based on predetermined factors. For example, one type ofpredetermined factor may relate to the position at which the user tappedon the insertion point 401 with the stylus. In such embodiments, a userwho taps or presses on the left side of or above (in the Englishlanguage, upstream) insertion point 401 may have icon 403 as the movingicon, and icon 404 as the origin icon, and the reverse may be true ifthe user tapped or pressed on the right side of or below insertion point401. Alternatively, the designation of moving and origin icon may dependon the dragging motion of the user's stylus. In such embodiments, if auser dragged to the left of or above (e.g., upstream) insertion point401, then icon 404 might be considered the origin icon, and icon 403 themoving icon. Similar designations may be made depending on whether thedragging motion was upwards or downwards from the insertion point 401,based on the directional flow of the underlying text. Alternatively,upon splitting, a single icon 403 (with or without directionalindicator) may be placed at the position of the insertion point 401, anda second icon 404 (with or without directional indicator) may follow theuser's input device (e.g., stylus) as it moves across the document.

FIGS. 6A-D depict various screens, and the associated process, that mayappear in one embodiment when a user wishes to insert space in themiddle of a portion of a document. The document may comprise text,handwritten text, graphics, and/or the like. In FIG. 6A, the user hashandwritten several lines of text 601 in the English language. Thehandwritten text 601 may have been written on a tablet screen with astylus pen.

To indicate a location within the text 601 at which space is to beinserted, a user may use the stylus to identify a location 602 betweentwo handwritten words displayed on a tablet screen. This identificationmay be accomplished using a stylus tap, stylus tap and press, or anyother form of user input. In one embodiment, upon tapping or pressing,the insertion point 603 may appear as shown in FIG. 6B. Depending on thedirectional flow of the language of the underlying text, the textappearing after insertion point 603, or “post-insertion point text,” maybe required to move as a result of the insertion of space. In someembodiments, this movement of text may be referred to as a reflow of thetext ink.

After the insertion point 603 appears, the user may then move (e.g., bytapping, dragging, pressing one or more keys, etc.) the insertion point603 to identify the location to which the post-insertion point text isto be moved. For example, the user may select insertion point 603, anddrag the moving cursor 604B to the location where the user wishes thetext to continue as shown in FIG. 6C. As the user drags, the origincursor 604A remains at the original location. Furthermore, theconnection line, or bungee line 605, may also appear, connecting the twoicons 604A, 604B and providing feedback to the user regarding where thepost-insertion point text will appear. Moving the icon 604B may befinished, for example, upon lifting the stylus. When the icon 604B ismoved, the text is moved accordingly, inserting additional space andresulting in the arrangement shown in FIG. 6D. The user may then insertand/or write additional text, graphics, etc. in the newly-created space.

Since the insertion point 603 may be placed within text and then moved,a determination may be made as to whether text upstream or downstreamfrom the point is to be moved. For example, the space created in theexample shown in FIGS. 6A-D is generated by moving the text that wasoriginally downstream from point 603, further downstream. In alternativeembodiments, the same space could have been generated by moving the textupstream from point 603 further upstream. In one embodiment, thisdetermination may be made based on the direction of the movement of themoving cursor 604 b. If the moving cursor 604 b was moved downstream,then the text downstream from point 603 is moved further downstream. Ifthe moving cursor 604 b was moved upstream, the text upstream from point603 would be moved further upstream. It will be understood that thisdetermination may be made in other ways to generate the same spacebetween the cursors 604 a and 604 b.

In alternative embodiments, as shown in FIG. 6E, the dynamic connectorline 605 may be configured such that rather than connecting the originicon 604 a to the moving icon 604 b, the bungee line may connect theorigin icon 604 a to a position along a margin of the electronicdocument to indicate the line to which the text beyond insertion point603 will be moved. FIG. 6E depicts a margin dynamic connector 607.Showing the connection on the margin may avoid obscuring portions of thedocument being edited, and may simplify processing in some devices. Inyet another alternative embodiment, multiple dynamic connection linesmay appear, connecting the origin icon 604 a with both the moving icon604 b and a location along a margin of the document indicating aparticular line to which text will be moved. The screen shown in FIG. 6Econtains both a dynamic connector 605 extending to the moving icon, anda margin dynamic connector 607 extending to a point along a margin.These multiple lines provide the user with a greater degree of visualfeedback for the edit.

The post-insertion point text need not be moved to begin at thebeginning of a line. For example, referring back to FIG. 6C, if the userhad positioned the moving icon 604 b at position 606, then the textbeginning “And this is what it looks like” may simply be moved to beginat position 606. In this situation, the computing device may need toinsert carriage returns and/or rearrange the moved text to properly movethe appropriate text.

Furthermore, the moving icon 604 b may also follow the user's draggingstylus to position 606, even if the underlying document contains no textor carriage returns up to position 606.

In alternate embodiments, the moving icon may be configured to followthe dragging stylus only as far as possible within the existing text (orcarriage returns, tabs, spaces, etc.) in the document. In such alternateembodiments, if the user were to move the cursor beyond the end of thecurrent document, the moving icon 604 b may simply position itself atthe current end of the document, with another cursor (and/or the bungeeline) following the user's movement beyond the current end of thedocument. In this manner, the user may be given feedback as to how muchnew space is to be added to the existing document, and how much spacealready existed at the end of the document.

FIGS. 7A-C show screens depicting a user who is deleting space betweengroups of text, or “closing up” the text. In FIG. 7A, the user hasinserted insertion point 701 at a position where space is to be deleted.Then, as shown in FIG. 7B, the user moves insertion point 701, splittingthe insertion point 701 into an origin and a moving cursor as describedabove, up to the position 702 at which text is to be closed up. Afterthis movement is complete, as shown in FIG. 7C, the text appearingdownstream from point 701 is moved upstream to position 702, closing thespace between the origin and moving cursor, and deleting the spaces (ortabs, carriage returns, control characters, etc.) therein. In someembodiments, the delete process may only delete a contiguous portion oftext containing “invisible” characters (such as spaces, tabs, carriagereturns, etc.), to delete only space in the document. In otherembodiments, the delete space process may also delete “visible”characters, such as text. These other embodiments allow the user toclose up space as well as unwanted portions of text, and offers greaterflexibility to the user in the editing process.

In the delete process shown in FIGS. 7A-C, the moving icon is shown atposition 702, a point beyond which no space remains to be deleted (e.g.,the movement was upstream, and text appears further upstream fromposition 702). In various embodiments where only spaces are to bedeleted, the moving icon remains at point 702 even if the user continuesto drag the stylus above and/or to the left of (e.g., further upstream)point 702. In such embodiments, the moving icon ceases to move, andremains in position, once it is dragged to the maximum amount ofcontiguous space that may be deleted. Thus, the moving icon in a deleteoperation may simply refuse to move into text portions, helping toprevent inadvertent deletions in the “closing up” process, and providingthe user with definite feedback as to where the deleted space resides.Similarly, the connection cord (or cords) may also be configured tocease movement. In alternative embodiments, the moving icon may jump toa position on a margin corresponding to point 702. Such an alternativemay minimize the amount of data (e.g., text, graphics, etc.) that isobscured.

In further alternative embodiments, the aforementioned steps may berepeated to close up multiple areas of space using a single gesture ofthe user input device (e.g., stylus, pointer, etc.). For example, someembodiments may simply delete any spaces that exist between thestationary icon and the final position of the input device, leaving thenon-space data (e.g., text, images, etc.). Such embodimentsadvantageously allow users to close up multiple areas of space using asingle gesture.

In further embodiments, additional pairs of insertion pointstationary/moving icons may be added for the additional areas of spacethat are to be closed. These additional pairs may also have theconnectors and bungee lines described above. The additional pairsadvantageously provide further visual feedback regarding the particularspaces to be closed.

As an example, the moving icon in FIG. 7B may refuse to move upwards andto the left of point 702 should the user continue to move, for example,a stylus or pointer in that direction. However, if the user shouldcontinue to move the stylus or pointer into another contiguous area ofspace (in FIG. 7B, such an area may exist above the paragraph thatbegins “hello this is an example . . . ”), some alternate embodimentsmay allow the deletion of this second contiguous area of space as wellby repeating some or all of the steps discussed above. In doing so, someembodiments may place another insertion point stationary/moving iconpair to correspond to the second area of space. The stationary icon ofthis added pair may be placed at one end of the second area of space(e.g., just prior to the word “hello” in the FIG. 7B example), while thesecond moving icon may follow the user's input device (e.g., stylus) asdescribed above, closing up the additional area of space. This processmay be repeated for any number of areas of space, and may simplify auser's ability to close up space in a document by closing multiple areasusing a single gesture.

FIG. 7A also shows the insertion point 701 as being on the left-mostside of a blank line. In choosing to delete space, the computing devicemay be configured to scan further downstream from the insertion point701 until text is encountered (in this case, on the next line, with theword “And”), and include this space in the space to be deleted as well.

Such an embodiment assists users in deleting unwanted space.Alternatively, the computing device might close up only the spacebetween the origin and moving cursor. Such an embodiment allows a userto reduce the amount of space without necessarily removing all space(e.g., if the user wishes to leave some amount of space untouched).

In the above embodiments, the computing device may determine whether an“insert” function or “delete” function is desired based on the directionin which the user moves the moving icon. If the moving icon is movedupstream (in English, to the left or up), a “closing up” process may beinferred; while if the moving icon is moved downstream (in English, tothe right or down), an insert space process may be inferred. However,other embodiments may employ other methods for determining which of thetwo functions is desired. For example, the user may be queried (e.g.,with a pop-up dialog box or window) as to whether a delete space orinsert space operation is desired. As another example, the user mightprovide an input (such as pressing a particular key, or tapping apredetermined amount of times) indicating which process is desired. Suchalternative embodiments may provide a more customizable experience forthe user.

In further embodiments, the electronic document being edited maycomprise handwritten text in electronic form. As shown in FIGS. 6 and 7,space may be added or deleted within handwritten text by using thevarious features described above.

In further embodiments, the insertion point may be used to insert text,graphics, or other data as a typical cursor. The insertion point mayalso be used to provide additional functional behavior, such as thedisplay of a menu. Thus, for example, if a user taps a display once toplace an insertion point, and then taps the insertion point or adirectional indicator (e.g., rather than dragging or moving it), a menumay appear. The insertion point in this instance would not split. Themenu may offer the user selections regarding data, text, graphics, etc.to insert, and upon designation and/or entry of the material to beinserted, the material may simply be inserted, and the insertion pointmay be removed. As such, the insertion point may be configured tooperate just as a standard cursor currently operates in any known wordprocessing system.

Many of the embodiments discussed above relate to the editing of textualinformation. In further embodiments, the insertion point may be used toinsert and/or delete space between text and images (or drawings), orbetween images, as well as within text.

Using one or more embodiments of the present invention, an intuitiveinterface may be achieved, yielding a more natural computer experiencefor the user. For example, the user may handwrite several lines of textonto a tablet-based computer simply by using the stylus as if it were atraditional ink pen. If the user should wish to insert additionalhandwritten words in the middle of a handwritten paragraph, the user maysimply use the stylus to place the insertion point and drag a portion ofthe handwritten paragraph out of the way, making additional space. Afterhandwriting the new words, the user may then “close up” the remainingspace by once again placing the insertion point and dragging theremaining portion of the handwritten paragraph back up to thenewly-added material. Editing a handwritten document is significantlymore natural, while at the same time more user-friendly.

The discussion above provides various aspects and embodiments of thepresent invention, but the invention is not limited to the particularconfigurations disclosed. Rather, the disclosed embodiments are merelyvarious embodiments. Those skilled in the relevant arts will readilyappreciate the fact that many variations to the disclosed embodimentsmay be made without departing from the spirit and scope of the presentinvention. For example, one or more of the disclosed aspects orembodiments may be combined with one or more other aspects orembodiments.

1. A computer-implemented method for editing electronic documentscomprising: placing an insertion point icon at a first position in anelectronic document responsive to a stylus or finger contacting adigitizer, the electronic document comprising text and having adirectional flow; receiving a stylus or finger up event; detecting astylus or finger proximate to the insertion point icon subsequent toreceiving the stylus up event; responsive to detecting the stylus orfinger proximate to the insertion point icon, providing feedbackindicating that the insertion point icon is selectable; receiving afirst stylus or finger input selecting the insertion point icon;transforming the insertion point icon into an origin icon and a movingicon based on receiving the first stylus or finger input; receiving asecond stylus or finger input indicating movement from the firstposition to a second position on a second line, the second positionbeing upstream of the first position in the directional flow of thedocument; responsive to the second stylus or finger input, displayingthe origin icon at the first position, and displaying the moving icon atthe second position; scanning downstream from the first position until atext or image portion of the electronic document is encountered, thearea from the second position to the encountered text or image portioncorresponding to a contiguous area of space; deleting the contiguousarea of space responsive to the second stylus or finger input; andmoving one or more portions of the electronic document responsive to thesecond stylus or finger input, wherein after said moving, one of themoved portions of the electronic document begins at the second position.2. The computer-implemented method of claim 1, wherein providingfeedback includes altering the appearance of the insertion point icon.3. The computer-implemented method of claim 1, wherein transforming theinsertion point icon further includes providing a bun gee line thatconnects the origin icon and the moving icon.
 4. Thecomputer-implemented method of claim 1, wherein the stylus or fingerinput is capable of indicating movement in any direction in an x-y planefrom the insertion point icon.
 5. The computer-implemented method ofclaim 1, wherein the stylus or finger input is capable of indicatingmovement in at least five separate directions.
 6. A computer-readablemedium having computer-executable instructions for carrying out themethod of claim
 1. 7. The computer-implemented method of claim 1,wherein the following acts are performed prior to moving the one or moreportions of the electronic document: prompting a user as to whetherspace should be inserted between the origin icon and the moving icon orspace should be deleted between the origin icon and the moving icon; andreceiving a user input indicating that space should be deleted betweenthe origin icon and the moving icon.
 8. The computer-implemented methodof claim 7, wherein the space deleted between the origin icon and themoving icon includes content.
 9. The computer-implemented method ofclaim 1, wherein the second position is located within a middle of thesecond line.
 10. A computer-implemented method for editing electronicdocuments comprising: placing an insertion point icon at a firstposition on a first line of an electronic document; receiving a userinput indicating movement from the first position to a second positionlocated within a second line, the area between the first position andthe second position corresponding to a selected area that includes atleast one text portion and a plurality of contiguous areas of space;displaying a margin dynamic connector connecting the insertion pointicon to a point on the margin corresponding to the second lineassociated with the second position; receiving a user input related tothe selected area; deleting the plurality of contiguous areas of spacewithout deleting the at least one text portion based on the receiveduser input related to the selected area; and moving one or more portionsof the electronic document from the first position to the secondposition.
 11. The computer-implemented method of claim 10, wherein thefollowing acts are performed prior to moving the one or more portions ofthe electronic document: prompting a user as to whether space should beinserted between the first position and the second position or spaceshould be deleted from the first position to the second position; andreceiving a user input indicating that space should be deleted from thefirst position to the second position.
 12. The computer-implementedmethod of claim 10 further comprising, responsive to the user input,displaying an origin icon at the first position and displaying a movingicon at the second position.
 13. The computer-implemented method ofclaim 10, wherein the second position is located within a middle of thesecond line.
 14. The computer implemented method of claim 10, whereinthe user input is received via a touch-sensitive or proximity-sensitivedisplay.
 15. The computer implemented method of claim 14, wherein theuser input is received based on detection of a stylus or a finger.
 16. Acomputer-readable medium having computer-executable instructions storedthereon for performing a method of editing documents on a computersystem comprising: placing an insertion point icon at a first positionon a first line of an electronic document; receiving a stylus inputindicating movement from the first position to a second position locatedwithin a second line, the area between the first position and the secondposition including at least one text portion and a plurality ofcontiguous areas of space; displaying a first icon at the first positionand displaying a second icon at the second position based on thereceived stylus input; displaying, based on the first position and thesecond position, at least one additional first icon and at least oneadditional second icon so that each contiguous area of space between thefirst position and the second position includes a first icon and asecond icon; and deleting the plurality of contiguous areas of spacewithout deleting the at least one text portion; wherein after saiddeleting, one of the moved portions of the electronic document begins atthe second position.
 17. The computer-readable medium havingcomputer-executable instructions stored thereon of claim 16, wherein thesecond position is located within a middle of the second line.
 18. Acomputer-implemented method for editing electronic documents comprising:placing an insertion point icon at a first position on a first line ofan electronic document; receiving a user input indicating movement fromthe first position to a second position located within a second line,the area between the first position and the second position including atleast one text portion and a plurality of contiguous areas of space;displaying a first icon at the first position and displaying a secondicon at the second position based on the received user input;displaying, based on the first position and the second position, atleast one additional first icon and at least one additional second iconso that each contiguous area of space between the first position and thesecond position includes a first icon and a second icon; and deletingthe plurality of contiguous areas of space without deleting the at leastone text portion; wherein after said deleting, one of the moved portionsof the electronic document begins at the second position.